{
 "cells": [
  {
   "cell_type": "markdown",
   "id": "3bb76ed6-5caa-4eed-9376-f1d3fc3f4f8d",
   "metadata": {},
   "source": [
    "## 案例实战：手写数字识别模型"
   ]
  },
  {
   "cell_type": "markdown",
   "id": "53c38b5c-6c84-4569-900c-33951a8ec894",
   "metadata": {},
   "source": [
    "#### 读取数据"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 1,
   "id": "2281d99c-acc4-4cae-a0b4-56ecc15013f8",
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/html": [
       "<div>\n",
       "<style scoped>\n",
       "    .dataframe tbody tr th:only-of-type {\n",
       "        vertical-align: middle;\n",
       "    }\n",
       "\n",
       "    .dataframe tbody tr th {\n",
       "        vertical-align: top;\n",
       "    }\n",
       "\n",
       "    .dataframe thead th {\n",
       "        text-align: right;\n",
       "    }\n",
       "</style>\n",
       "<table border=\"1\" class=\"dataframe\">\n",
       "  <thead>\n",
       "    <tr style=\"text-align: right;\">\n",
       "      <th></th>\n",
       "      <th>对应数字</th>\n",
       "      <th>0</th>\n",
       "      <th>1</th>\n",
       "      <th>2</th>\n",
       "      <th>3</th>\n",
       "      <th>4</th>\n",
       "      <th>5</th>\n",
       "      <th>6</th>\n",
       "      <th>7</th>\n",
       "      <th>8</th>\n",
       "      <th>...</th>\n",
       "      <th>1014</th>\n",
       "      <th>1015</th>\n",
       "      <th>1016</th>\n",
       "      <th>1017</th>\n",
       "      <th>1018</th>\n",
       "      <th>1019</th>\n",
       "      <th>1020</th>\n",
       "      <th>1021</th>\n",
       "      <th>1022</th>\n",
       "      <th>1023</th>\n",
       "    </tr>\n",
       "  </thead>\n",
       "  <tbody>\n",
       "    <tr>\n",
       "      <th>0</th>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>...</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>1</th>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>...</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>2</th>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>...</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>3</th>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>...</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>4</th>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>...</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "    </tr>\n",
       "  </tbody>\n",
       "</table>\n",
       "<p>5 rows × 1025 columns</p>\n",
       "</div>"
      ],
      "text/plain": [
       "   对应数字  0  1  2  3  4  5  6  7  8  ...  1014  1015  1016  1017  1018  1019  \\\n",
       "0     0  0  0  0  0  0  0  0  0  0  ...     0     0     0     0     0     0   \n",
       "1     0  0  0  0  0  0  0  0  0  0  ...     0     0     0     0     0     0   \n",
       "2     0  0  0  0  0  0  0  0  0  0  ...     0     0     0     0     0     0   \n",
       "3     0  0  0  0  0  0  0  0  0  0  ...     0     0     0     0     0     0   \n",
       "4     0  0  0  0  0  0  0  0  0  0  ...     0     0     0     0     0     0   \n",
       "\n",
       "   1020  1021  1022  1023  \n",
       "0     0     0     0     0  \n",
       "1     0     0     0     0  \n",
       "2     0     0     0     0  \n",
       "3     0     0     0     0  \n",
       "4     0     0     0     0  \n",
       "\n",
       "[5 rows x 1025 columns]"
      ]
     },
     "execution_count": 1,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "import pandas as pd\n",
    "df=pd.read_excel('手写字体识别.xlsx')\n",
    "df.head()"
   ]
  },
  {
   "cell_type": "markdown",
   "id": "69658b6b-93fc-45aa-8c0a-77df97adbd26",
   "metadata": {},
   "source": [
    "#### 提取特征变量和目标变量"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 2,
   "id": "a504cc1e-68ae-4d44-b7ba-f2978ddba072",
   "metadata": {},
   "outputs": [],
   "source": [
    "X=df.drop(columns='对应数字')\n",
    "y=df['对应数字']"
   ]
  },
  {
   "cell_type": "markdown",
   "id": "17c33cf1-7587-44ea-8c0a-8863676c070c",
   "metadata": {},
   "source": [
    "#### 对数据进行标准化"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 3,
   "id": "67acfe71-d0f4-4f58-a85d-0cffff3abceb",
   "metadata": {},
   "outputs": [],
   "source": [
    "from sklearn.preprocessing import StandardScaler\n",
    "X=StandardScaler().fit_transform(X)"
   ]
  },
  {
   "cell_type": "markdown",
   "id": "a33bcdbb-81c3-488b-ae6a-aff924bdf266",
   "metadata": {},
   "source": [
    "#### 划分训练集和测试集"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 4,
   "id": "c22aaaf6-28d1-46db-bc36-909143e2e351",
   "metadata": {},
   "outputs": [],
   "source": [
    "from sklearn.model_selection import train_test_split\n",
    "X_train,X_test,y_train,y_test=train_test_split(X,y,test_size=0.2,random_state=123)"
   ]
  },
  {
   "cell_type": "markdown",
   "id": "fada41f4-c9a5-4997-929e-0ec5182fbe11",
   "metadata": {},
   "source": [
    "#### 模型搭建，k近邻算法分类"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 5,
   "id": "8584bbb9-a459-494f-9c9d-5d8986f470fb",
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/html": [
       "<style>#sk-container-id-1 {\n",
       "  /* Definition of color scheme common for light and dark mode */\n",
       "  --sklearn-color-text: black;\n",
       "  --sklearn-color-line: gray;\n",
       "  /* Definition of color scheme for unfitted estimators */\n",
       "  --sklearn-color-unfitted-level-0: #fff5e6;\n",
       "  --sklearn-color-unfitted-level-1: #f6e4d2;\n",
       "  --sklearn-color-unfitted-level-2: #ffe0b3;\n",
       "  --sklearn-color-unfitted-level-3: chocolate;\n",
       "  /* Definition of color scheme for fitted estimators */\n",
       "  --sklearn-color-fitted-level-0: #f0f8ff;\n",
       "  --sklearn-color-fitted-level-1: #d4ebff;\n",
       "  --sklearn-color-fitted-level-2: #b3dbfd;\n",
       "  --sklearn-color-fitted-level-3: cornflowerblue;\n",
       "\n",
       "  /* Specific color for light theme */\n",
       "  --sklearn-color-text-on-default-background: var(--sg-text-color, var(--theme-code-foreground, var(--jp-content-font-color1, black)));\n",
       "  --sklearn-color-background: var(--sg-background-color, var(--theme-background, var(--jp-layout-color0, white)));\n",
       "  --sklearn-color-border-box: var(--sg-text-color, var(--theme-code-foreground, var(--jp-content-font-color1, black)));\n",
       "  --sklearn-color-icon: #696969;\n",
       "\n",
       "  @media (prefers-color-scheme: dark) {\n",
       "    /* Redefinition of color scheme for dark theme */\n",
       "    --sklearn-color-text-on-default-background: var(--sg-text-color, var(--theme-code-foreground, var(--jp-content-font-color1, white)));\n",
       "    --sklearn-color-background: var(--sg-background-color, var(--theme-background, var(--jp-layout-color0, #111)));\n",
       "    --sklearn-color-border-box: var(--sg-text-color, var(--theme-code-foreground, var(--jp-content-font-color1, white)));\n",
       "    --sklearn-color-icon: #878787;\n",
       "  }\n",
       "}\n",
       "\n",
       "#sk-container-id-1 {\n",
       "  color: var(--sklearn-color-text);\n",
       "}\n",
       "\n",
       "#sk-container-id-1 pre {\n",
       "  padding: 0;\n",
       "}\n",
       "\n",
       "#sk-container-id-1 input.sk-hidden--visually {\n",
       "  border: 0;\n",
       "  clip: rect(1px 1px 1px 1px);\n",
       "  clip: rect(1px, 1px, 1px, 1px);\n",
       "  height: 1px;\n",
       "  margin: -1px;\n",
       "  overflow: hidden;\n",
       "  padding: 0;\n",
       "  position: absolute;\n",
       "  width: 1px;\n",
       "}\n",
       "\n",
       "#sk-container-id-1 div.sk-dashed-wrapped {\n",
       "  border: 1px dashed var(--sklearn-color-line);\n",
       "  margin: 0 0.4em 0.5em 0.4em;\n",
       "  box-sizing: border-box;\n",
       "  padding-bottom: 0.4em;\n",
       "  background-color: var(--sklearn-color-background);\n",
       "}\n",
       "\n",
       "#sk-container-id-1 div.sk-container {\n",
       "  /* jupyter's `normalize.less` sets `[hidden] { display: none; }`\n",
       "     but bootstrap.min.css set `[hidden] { display: none !important; }`\n",
       "     so we also need the `!important` here to be able to override the\n",
       "     default hidden behavior on the sphinx rendered scikit-learn.org.\n",
       "     See: https://github.com/scikit-learn/scikit-learn/issues/21755 */\n",
       "  display: inline-block !important;\n",
       "  position: relative;\n",
       "}\n",
       "\n",
       "#sk-container-id-1 div.sk-text-repr-fallback {\n",
       "  display: none;\n",
       "}\n",
       "\n",
       "div.sk-parallel-item,\n",
       "div.sk-serial,\n",
       "div.sk-item {\n",
       "  /* draw centered vertical line to link estimators */\n",
       "  background-image: linear-gradient(var(--sklearn-color-text-on-default-background), var(--sklearn-color-text-on-default-background));\n",
       "  background-size: 2px 100%;\n",
       "  background-repeat: no-repeat;\n",
       "  background-position: center center;\n",
       "}\n",
       "\n",
       "/* Parallel-specific style estimator block */\n",
       "\n",
       "#sk-container-id-1 div.sk-parallel-item::after {\n",
       "  content: \"\";\n",
       "  width: 100%;\n",
       "  border-bottom: 2px solid var(--sklearn-color-text-on-default-background);\n",
       "  flex-grow: 1;\n",
       "}\n",
       "\n",
       "#sk-container-id-1 div.sk-parallel {\n",
       "  display: flex;\n",
       "  align-items: stretch;\n",
       "  justify-content: center;\n",
       "  background-color: var(--sklearn-color-background);\n",
       "  position: relative;\n",
       "}\n",
       "\n",
       "#sk-container-id-1 div.sk-parallel-item {\n",
       "  display: flex;\n",
       "  flex-direction: column;\n",
       "}\n",
       "\n",
       "#sk-container-id-1 div.sk-parallel-item:first-child::after {\n",
       "  align-self: flex-end;\n",
       "  width: 50%;\n",
       "}\n",
       "\n",
       "#sk-container-id-1 div.sk-parallel-item:last-child::after {\n",
       "  align-self: flex-start;\n",
       "  width: 50%;\n",
       "}\n",
       "\n",
       "#sk-container-id-1 div.sk-parallel-item:only-child::after {\n",
       "  width: 0;\n",
       "}\n",
       "\n",
       "/* Serial-specific style estimator block */\n",
       "\n",
       "#sk-container-id-1 div.sk-serial {\n",
       "  display: flex;\n",
       "  flex-direction: column;\n",
       "  align-items: center;\n",
       "  background-color: var(--sklearn-color-background);\n",
       "  padding-right: 1em;\n",
       "  padding-left: 1em;\n",
       "}\n",
       "\n",
       "\n",
       "/* Toggleable style: style used for estimator/Pipeline/ColumnTransformer box that is\n",
       "clickable and can be expanded/collapsed.\n",
       "- Pipeline and ColumnTransformer use this feature and define the default style\n",
       "- Estimators will overwrite some part of the style using the `sk-estimator` class\n",
       "*/\n",
       "\n",
       "/* Pipeline and ColumnTransformer style (default) */\n",
       "\n",
       "#sk-container-id-1 div.sk-toggleable {\n",
       "  /* Default theme specific background. It is overwritten whether we have a\n",
       "  specific estimator or a Pipeline/ColumnTransformer */\n",
       "  background-color: var(--sklearn-color-background);\n",
       "}\n",
       "\n",
       "/* Toggleable label */\n",
       "#sk-container-id-1 label.sk-toggleable__label {\n",
       "  cursor: pointer;\n",
       "  display: block;\n",
       "  width: 100%;\n",
       "  margin-bottom: 0;\n",
       "  padding: 0.5em;\n",
       "  box-sizing: border-box;\n",
       "  text-align: center;\n",
       "}\n",
       "\n",
       "#sk-container-id-1 label.sk-toggleable__label-arrow:before {\n",
       "  /* Arrow on the left of the label */\n",
       "  content: \"▸\";\n",
       "  float: left;\n",
       "  margin-right: 0.25em;\n",
       "  color: var(--sklearn-color-icon);\n",
       "}\n",
       "\n",
       "#sk-container-id-1 label.sk-toggleable__label-arrow:hover:before {\n",
       "  color: var(--sklearn-color-text);\n",
       "}\n",
       "\n",
       "/* Toggleable content - dropdown */\n",
       "\n",
       "#sk-container-id-1 div.sk-toggleable__content {\n",
       "  max-height: 0;\n",
       "  max-width: 0;\n",
       "  overflow: hidden;\n",
       "  text-align: left;\n",
       "  /* unfitted */\n",
       "  background-color: var(--sklearn-color-unfitted-level-0);\n",
       "}\n",
       "\n",
       "#sk-container-id-1 div.sk-toggleable__content.fitted {\n",
       "  /* fitted */\n",
       "  background-color: var(--sklearn-color-fitted-level-0);\n",
       "}\n",
       "\n",
       "#sk-container-id-1 div.sk-toggleable__content pre {\n",
       "  margin: 0.2em;\n",
       "  border-radius: 0.25em;\n",
       "  color: var(--sklearn-color-text);\n",
       "  /* unfitted */\n",
       "  background-color: var(--sklearn-color-unfitted-level-0);\n",
       "}\n",
       "\n",
       "#sk-container-id-1 div.sk-toggleable__content.fitted pre {\n",
       "  /* unfitted */\n",
       "  background-color: var(--sklearn-color-fitted-level-0);\n",
       "}\n",
       "\n",
       "#sk-container-id-1 input.sk-toggleable__control:checked~div.sk-toggleable__content {\n",
       "  /* Expand drop-down */\n",
       "  max-height: 200px;\n",
       "  max-width: 100%;\n",
       "  overflow: auto;\n",
       "}\n",
       "\n",
       "#sk-container-id-1 input.sk-toggleable__control:checked~label.sk-toggleable__label-arrow:before {\n",
       "  content: \"▾\";\n",
       "}\n",
       "\n",
       "/* Pipeline/ColumnTransformer-specific style */\n",
       "\n",
       "#sk-container-id-1 div.sk-label input.sk-toggleable__control:checked~label.sk-toggleable__label {\n",
       "  color: var(--sklearn-color-text);\n",
       "  background-color: var(--sklearn-color-unfitted-level-2);\n",
       "}\n",
       "\n",
       "#sk-container-id-1 div.sk-label.fitted input.sk-toggleable__control:checked~label.sk-toggleable__label {\n",
       "  background-color: var(--sklearn-color-fitted-level-2);\n",
       "}\n",
       "\n",
       "/* Estimator-specific style */\n",
       "\n",
       "/* Colorize estimator box */\n",
       "#sk-container-id-1 div.sk-estimator input.sk-toggleable__control:checked~label.sk-toggleable__label {\n",
       "  /* unfitted */\n",
       "  background-color: var(--sklearn-color-unfitted-level-2);\n",
       "}\n",
       "\n",
       "#sk-container-id-1 div.sk-estimator.fitted input.sk-toggleable__control:checked~label.sk-toggleable__label {\n",
       "  /* fitted */\n",
       "  background-color: var(--sklearn-color-fitted-level-2);\n",
       "}\n",
       "\n",
       "#sk-container-id-1 div.sk-label label.sk-toggleable__label,\n",
       "#sk-container-id-1 div.sk-label label {\n",
       "  /* The background is the default theme color */\n",
       "  color: var(--sklearn-color-text-on-default-background);\n",
       "}\n",
       "\n",
       "/* On hover, darken the color of the background */\n",
       "#sk-container-id-1 div.sk-label:hover label.sk-toggleable__label {\n",
       "  color: var(--sklearn-color-text);\n",
       "  background-color: var(--sklearn-color-unfitted-level-2);\n",
       "}\n",
       "\n",
       "/* Label box, darken color on hover, fitted */\n",
       "#sk-container-id-1 div.sk-label.fitted:hover label.sk-toggleable__label.fitted {\n",
       "  color: var(--sklearn-color-text);\n",
       "  background-color: var(--sklearn-color-fitted-level-2);\n",
       "}\n",
       "\n",
       "/* Estimator label */\n",
       "\n",
       "#sk-container-id-1 div.sk-label label {\n",
       "  font-family: monospace;\n",
       "  font-weight: bold;\n",
       "  display: inline-block;\n",
       "  line-height: 1.2em;\n",
       "}\n",
       "\n",
       "#sk-container-id-1 div.sk-label-container {\n",
       "  text-align: center;\n",
       "}\n",
       "\n",
       "/* Estimator-specific */\n",
       "#sk-container-id-1 div.sk-estimator {\n",
       "  font-family: monospace;\n",
       "  border: 1px dotted var(--sklearn-color-border-box);\n",
       "  border-radius: 0.25em;\n",
       "  box-sizing: border-box;\n",
       "  margin-bottom: 0.5em;\n",
       "  /* unfitted */\n",
       "  background-color: var(--sklearn-color-unfitted-level-0);\n",
       "}\n",
       "\n",
       "#sk-container-id-1 div.sk-estimator.fitted {\n",
       "  /* fitted */\n",
       "  background-color: var(--sklearn-color-fitted-level-0);\n",
       "}\n",
       "\n",
       "/* on hover */\n",
       "#sk-container-id-1 div.sk-estimator:hover {\n",
       "  /* unfitted */\n",
       "  background-color: var(--sklearn-color-unfitted-level-2);\n",
       "}\n",
       "\n",
       "#sk-container-id-1 div.sk-estimator.fitted:hover {\n",
       "  /* fitted */\n",
       "  background-color: var(--sklearn-color-fitted-level-2);\n",
       "}\n",
       "\n",
       "/* Specification for estimator info (e.g. \"i\" and \"?\") */\n",
       "\n",
       "/* Common style for \"i\" and \"?\" */\n",
       "\n",
       ".sk-estimator-doc-link,\n",
       "a:link.sk-estimator-doc-link,\n",
       "a:visited.sk-estimator-doc-link {\n",
       "  float: right;\n",
       "  font-size: smaller;\n",
       "  line-height: 1em;\n",
       "  font-family: monospace;\n",
       "  background-color: var(--sklearn-color-background);\n",
       "  border-radius: 1em;\n",
       "  height: 1em;\n",
       "  width: 1em;\n",
       "  text-decoration: none !important;\n",
       "  margin-left: 1ex;\n",
       "  /* unfitted */\n",
       "  border: var(--sklearn-color-unfitted-level-1) 1pt solid;\n",
       "  color: var(--sklearn-color-unfitted-level-1);\n",
       "}\n",
       "\n",
       ".sk-estimator-doc-link.fitted,\n",
       "a:link.sk-estimator-doc-link.fitted,\n",
       "a:visited.sk-estimator-doc-link.fitted {\n",
       "  /* fitted */\n",
       "  border: var(--sklearn-color-fitted-level-1) 1pt solid;\n",
       "  color: var(--sklearn-color-fitted-level-1);\n",
       "}\n",
       "\n",
       "/* On hover */\n",
       "div.sk-estimator:hover .sk-estimator-doc-link:hover,\n",
       ".sk-estimator-doc-link:hover,\n",
       "div.sk-label-container:hover .sk-estimator-doc-link:hover,\n",
       ".sk-estimator-doc-link:hover {\n",
       "  /* unfitted */\n",
       "  background-color: var(--sklearn-color-unfitted-level-3);\n",
       "  color: var(--sklearn-color-background);\n",
       "  text-decoration: none;\n",
       "}\n",
       "\n",
       "div.sk-estimator.fitted:hover .sk-estimator-doc-link.fitted:hover,\n",
       ".sk-estimator-doc-link.fitted:hover,\n",
       "div.sk-label-container:hover .sk-estimator-doc-link.fitted:hover,\n",
       ".sk-estimator-doc-link.fitted:hover {\n",
       "  /* fitted */\n",
       "  background-color: var(--sklearn-color-fitted-level-3);\n",
       "  color: var(--sklearn-color-background);\n",
       "  text-decoration: none;\n",
       "}\n",
       "\n",
       "/* Span, style for the box shown on hovering the info icon */\n",
       ".sk-estimator-doc-link span {\n",
       "  display: none;\n",
       "  z-index: 9999;\n",
       "  position: relative;\n",
       "  font-weight: normal;\n",
       "  right: .2ex;\n",
       "  padding: .5ex;\n",
       "  margin: .5ex;\n",
       "  width: min-content;\n",
       "  min-width: 20ex;\n",
       "  max-width: 50ex;\n",
       "  color: var(--sklearn-color-text);\n",
       "  box-shadow: 2pt 2pt 4pt #999;\n",
       "  /* unfitted */\n",
       "  background: var(--sklearn-color-unfitted-level-0);\n",
       "  border: .5pt solid var(--sklearn-color-unfitted-level-3);\n",
       "}\n",
       "\n",
       ".sk-estimator-doc-link.fitted span {\n",
       "  /* fitted */\n",
       "  background: var(--sklearn-color-fitted-level-0);\n",
       "  border: var(--sklearn-color-fitted-level-3);\n",
       "}\n",
       "\n",
       ".sk-estimator-doc-link:hover span {\n",
       "  display: block;\n",
       "}\n",
       "\n",
       "/* \"?\"-specific style due to the `<a>` HTML tag */\n",
       "\n",
       "#sk-container-id-1 a.estimator_doc_link {\n",
       "  float: right;\n",
       "  font-size: 1rem;\n",
       "  line-height: 1em;\n",
       "  font-family: monospace;\n",
       "  background-color: var(--sklearn-color-background);\n",
       "  border-radius: 1rem;\n",
       "  height: 1rem;\n",
       "  width: 1rem;\n",
       "  text-decoration: none;\n",
       "  /* unfitted */\n",
       "  color: var(--sklearn-color-unfitted-level-1);\n",
       "  border: var(--sklearn-color-unfitted-level-1) 1pt solid;\n",
       "}\n",
       "\n",
       "#sk-container-id-1 a.estimator_doc_link.fitted {\n",
       "  /* fitted */\n",
       "  border: var(--sklearn-color-fitted-level-1) 1pt solid;\n",
       "  color: var(--sklearn-color-fitted-level-1);\n",
       "}\n",
       "\n",
       "/* On hover */\n",
       "#sk-container-id-1 a.estimator_doc_link:hover {\n",
       "  /* unfitted */\n",
       "  background-color: var(--sklearn-color-unfitted-level-3);\n",
       "  color: var(--sklearn-color-background);\n",
       "  text-decoration: none;\n",
       "}\n",
       "\n",
       "#sk-container-id-1 a.estimator_doc_link.fitted:hover {\n",
       "  /* fitted */\n",
       "  background-color: var(--sklearn-color-fitted-level-3);\n",
       "}\n",
       "</style><div id=\"sk-container-id-1\" class=\"sk-top-container\"><div class=\"sk-text-repr-fallback\"><pre>KNeighborsClassifier()</pre><b>In a Jupyter environment, please rerun this cell to show the HTML representation or trust the notebook. <br />On GitHub, the HTML representation is unable to render, please try loading this page with nbviewer.org.</b></div><div class=\"sk-container\" hidden><div class=\"sk-item\"><div class=\"sk-estimator fitted sk-toggleable\"><input class=\"sk-toggleable__control sk-hidden--visually\" id=\"sk-estimator-id-1\" type=\"checkbox\" checked><label for=\"sk-estimator-id-1\" class=\"sk-toggleable__label fitted sk-toggleable__label-arrow fitted\">&nbsp;&nbsp;KNeighborsClassifier<a class=\"sk-estimator-doc-link fitted\" rel=\"noreferrer\" target=\"_blank\" href=\"https://scikit-learn.org/1.4/modules/generated/sklearn.neighbors.KNeighborsClassifier.html\">?<span>Documentation for KNeighborsClassifier</span></a><span class=\"sk-estimator-doc-link fitted\">i<span>Fitted</span></span></label><div class=\"sk-toggleable__content fitted\"><pre>KNeighborsClassifier()</pre></div> </div></div></div></div>"
      ],
      "text/plain": [
       "KNeighborsClassifier()"
      ]
     },
     "execution_count": 5,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "from sklearn.neighbors import KNeighborsClassifier as KNN\n",
    "knn = KNN(n_neighbors=5) \n",
    "knn.fit(X_train, y_train)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 6,
   "id": "04b46e1f-d95a-4dbe-8bf8-f1734f177503",
   "metadata": {},
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "[5 3 7 8 9 2 1 9 5 8 5 5 9 3 3 2 3 7 9 1 0 0 7 6 6 7 0 9 6 9 1 8 6 9 2 5 2\n",
      " 4 5 8 3 6 9 4 9 2 7 3 4 9 5 6 7 3 3 1 3 1 5 3 6 7 5 0 3 7 1 4 9 1 5 1 2 6\n",
      " 9 1 9 5 5 9 2 8 8 4 4 9 4 3 9 8 0 3 4 3 6 8 5 2 4 0]\n"
     ]
    }
   ],
   "source": [
    "y_pred = knn.predict(X_test)\n",
    "print(y_pred[0:100])"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 7,
   "id": "c19cc3c0-24c9-4418-a4e0-9aac91bcf526",
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/html": [
       "<div>\n",
       "<style scoped>\n",
       "    .dataframe tbody tr th:only-of-type {\n",
       "        vertical-align: middle;\n",
       "    }\n",
       "\n",
       "    .dataframe tbody tr th {\n",
       "        vertical-align: top;\n",
       "    }\n",
       "\n",
       "    .dataframe thead th {\n",
       "        text-align: right;\n",
       "    }\n",
       "</style>\n",
       "<table border=\"1\" class=\"dataframe\">\n",
       "  <thead>\n",
       "    <tr style=\"text-align: right;\">\n",
       "      <th></th>\n",
       "      <th>预测值</th>\n",
       "      <th>实际值</th>\n",
       "    </tr>\n",
       "  </thead>\n",
       "  <tbody>\n",
       "    <tr>\n",
       "      <th>0</th>\n",
       "      <td>5</td>\n",
       "      <td>5</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>1</th>\n",
       "      <td>3</td>\n",
       "      <td>3</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>2</th>\n",
       "      <td>7</td>\n",
       "      <td>7</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>3</th>\n",
       "      <td>8</td>\n",
       "      <td>8</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>4</th>\n",
       "      <td>9</td>\n",
       "      <td>9</td>\n",
       "    </tr>\n",
       "  </tbody>\n",
       "</table>\n",
       "</div>"
      ],
      "text/plain": [
       "   预测值  实际值\n",
       "0    5    5\n",
       "1    3    3\n",
       "2    7    7\n",
       "3    8    8\n",
       "4    9    9"
      ]
     },
     "execution_count": 7,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "a = pd.DataFrame()  # 创建一个空DataFrame \n",
    "a['预测值'] = list(y_pred)\n",
    "a['实际值'] = list(y_test)\n",
    "a.head()"
   ]
  },
  {
   "cell_type": "markdown",
   "id": "921f2b9d-7157-4f0b-ac1d-3a1e754d3219",
   "metadata": {},
   "source": [
    "#### 对预测准确度进行评估"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 8,
   "id": "6e421a20-9fbf-4e2f-ae75-e6e3a7966aaf",
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "0.9767441860465116"
      ]
     },
     "execution_count": 8,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "from sklearn.metrics import accuracy_score\n",
    "score = accuracy_score(y_pred, y_test)\n",
    "score"
   ]
  },
  {
   "cell_type": "markdown",
   "id": "25545883-59d5-4080-a166-1f67f96ccfa0",
   "metadata": {},
   "source": [
    "#### 模型自带的score（）函数也可以打分"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 9,
   "id": "7ffadacc-ea96-4c9c-a9d6-433120cb6323",
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "0.9767441860465116"
      ]
     },
     "execution_count": 9,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "score = knn.score(X_test, y_test)\n",
    "score"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 10,
   "id": "4b2e8afd-844d-4636-877a-8a58066c9d35",
   "metadata": {},
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "训练 KNN 模型中...\n",
      "KNN 准确率: 0.9767\n",
      "训练 随机森林 模型中...\n",
      "随机森林 准确率: 0.9845\n",
      "训练 SVM 模型中...\n",
      "SVM 准确率: 0.9871\n",
      "训练 逻辑回归 模型中...\n",
      "逻辑回归 准确率: 0.9897\n",
      "训练 神经网络 模型中...\n",
      "神经网络 准确率: 0.9922\n",
      "训练 XGBoost 模型中...\n",
      "XGBoost 准确率: 0.9690\n"
     ]
    },
    {
     "data": {
      "image/png": "iVBORw0KGgoAAAANSUhEUgAABKUAAAJOCAYAAABm7rQwAAAAOnRFWHRTb2Z0d2FyZQBNYXRwbG90bGliIHZlcnNpb24zLjEwLjYsIGh0dHBzOi8vbWF0cGxvdGxpYi5vcmcvq6yFwwAAAAlwSFlzAAAPYQAAD2EBqD+naQAAoHRJREFUeJzs3XlcVdXi///34SAgToBpDgGiWVf9OItROeZUOWRqpddSKRpIs1uGN0tJ0rAsITWHm5oDmlaW2aRmdfVqWaihiRQmzppTIgcEDtP+/cGP/fXIIJZutF7Px2M/Pu619tp7LTh6O+/PWmvbDMMwBAAAAAAAAFjIraI7AAAAAAAAgL8fQikAAAAAAABYjlAKAAAAAAAAliOUAgAAAAAAgOUIpQAAAAAAAGA5QikAAAAAAABYjlAKAAAAAAAAliOUAgAAAAAAgOUIpQAAAAALZWZmVnQXAAC4KhBKAQBwDcnIyNCBAweUk5NTrG7s2LGKjY2VJB08eFAjRozQzp07L/vzjxw5ooKCgnJdn5ycrLy8vMvah7+DHTt26ODBg5fcLjMzU++9994V6FH5/frrrzp27Fi5rs3Ly1NGRsYf/owkJCToiy++UFZWVrG6lJQUxcXFKSMj4w/dW5L2799v/vns2bNKTk7+w/cqsmXLFtWqVUuzZ8/+0/e60g4cOKCPP/5Yv/322yW3PXnypPbu3SvDMK5AzwAAfxXuFd0BAACuJrt27dK6devk6ekpd3d32Wy2crctKChQVlaWHnjgAd1www1av369UlJS/nBf+vbtq/r167uUrVy5UqGhofrpp5/UvHlzOZ1Oubu7y263a8eOHeYXcKfTqcWLF2vYsGEyDEPZ2dny8vIyx5OSkqJt27bJw8OjxDHm5uaqXr16uv32213K58+fr2eeeUZnz55VjRo1yuy/YRi69dZbVb16de3du1fu7lfmPzucTqe2b98uNzc3hYSEuNSlp6fr6NGjf/je7u7uuvHGG83z33//XV9//bXuv/9+/fTTT+rUqZPeffdd3X333ZoxY4buuusuNW7cWLGxsfr+++81ffp01alT55KeefbsWXXr1k0NGzbUt99+Kw8Pj3K3feWVVxQdHa2zZ8/q8ccflyTFx8frxx9/LLNd69atdcstt7iULVu2TGvWrCnx+ipVqug///lPiXW33367+vbtqwULFly0vytWrNBDDz2kpUuXaujQoRe9/kIfffSRJk+erJ07d6pFixYudd98840ee+wxvfXWWxo5cmSp98jPz5fdbi9Wvn37drVr105jxozRG2+8oYceekjx8fH673//q6ZNm5Z4r5MnT+rw4cPy9vY2/14VFBQoMzNT7dq1kyRNmzZNVatW1ZAhQy55vOd77rnnlJycrE8//fRP3acsmzdv1kMPPaQ1a9aobt26LnW7du1SeHi4IiIidM899xRrO27cOL3zzjvKzs6Wp6fnFesjAODaRigFAMB5fvzxRz3//PPy8PBQpUqVigU2ubm5yszMlLe3typVquRSV1BQIKfTqZCQEN1www1aunSplixZ8of70r59+2KhVNGXu8qVK0uSRo4c6fLlf/369ZozZ4553q1bN/PP+/fvV4MGDcxxjhs3zixv1KiRvLy89Pvvv+v48eP6xz/+od69e+v222+Xp6enxo0bp4kTJ8rLy0uSzP9blp9++kmpqal69NFHLzmQSkhIUG5urnJycpSdna2MjAw5HA6dOXNGv//+u06cOKGjR49q37592rt3r/Ly8tSwYUPt2rVL3t7e5n02bNigfv36XdKzzxcUFKR9+/aZ5+vXr9eDDz4om82mJk2aKC0tTe7u7kpKStLTTz+tZs2aqXHjxtqwYYO+//57XXfddWXe/5dffimxfPz48Xr22Wc1ZsyYUgOVypUrKzAw0KVswoQJWrNmjUaNGqUmTZqoU6dOWrNmjSZOnFhmPyZMmFAslNq9e7dWrFihO++8s1i50+ksNZTy9PQsdwhR9Dkq+jxfqsTERLVu3bpYICVJa9euVe3atRUWFlZq+wMHDujuu+9WVFSU7rvvPpe61atXS5IGDBggSfrPf/6j22+/3Qwk3dyKLzj45JNP9Oijj5b4LMMw9O233+rDDz+UJPn5+Zl1VapU0aFDh1zKJMnhcMjpdMrT07PY87KysvTZZ59p69atatKkiUtdXl6esrKydN111xX7d+pS1KxZU5JK/H3m5ubq22+/1WOPPVZi26I2lxKqAgD+fgilAAA4z/DhwzV8+PBS64cNG6aVK1dqz549xQKjCxV9GbvU5Svz58/Xo48+qmrVqhWrK/qCWRTyTJ06VVOnTlWlSpU0YMAANWzYUNOmTdO+ffvUsmVLffnll7rlllvkcDhcZuzcd999uu+++5SQkKA2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7d69Wz/88IM8PDxcZm4kJSVJKnyD2fny8vKUk5OjDh06uIROjRo1cpmFcurUKe3Zs+eiv7MpU6bo+eefL1b++eefa9++ferTp4/atm2r7du3q2/fvtq9e7dmzJghSapXr5569+5tLnv76aef1LJlS23evFnBwcEu9zt+/Li8vb0VFhZWro3BpcI9wC5ctjdkyBBzDySpcIZNTEyMpEtfPlrE6XQqMzNT/v7+xequv/76P3TP0sybN09fffWVS1lubq6cTqd69uyp+++/3ywvCtnq1q2rf/zjH2a5t7e33N3dtXDhQiUlJZX4drvc3NwSZwVed9115h5gb775pvbs2XPRPttsthLv9fvvv+ujjz4yZ09J0j333KPvv/9e8+bNK7ZMLjEx0WWp7vkvEQgMDNTixYv1z3/+U3a7XS1bttS4ceP04IMPqkuXLlq0aJFGjhypnj17ysvLS5MmTVJkZKQeffRRvfbaa8X69tprr2nw4MFmaLl9+3ZVqlRJXbp00fbt2+Xj46PKlSubfz82bdqk+++/XytXrlRwcHCJAefmzZvNUDo/P185OTnq3r27Wb9q1SpNmjRJCQkJ6t69u1599VW1bdv2oj9fAMDfA6EUAAAXERsbq4ULFyo4ONicybRmzRqFhobqq6++0sKFCy+6mXCzZs3+VB88PT1lGIa5F82qVavUpUsXtW3bVu7u7tq+fbtat25davvzg52ePXvq66+/loeHh+bNm6ePPvpI33zzjWw2m5YvX66YmBht2rRJOTk5qlevnrKzs8s9o+fjjz/Wu+++q+PHj2vt2rUudR4eHuXeO2jDhg165pln5OXl5dKmaMnUwoULtWzZMrO8aEP0efPmlTkT6vjx4xo6dKjGjx9f6jU5OTklblCek5OjefPm6cUXX1T//v313HPPqXnz5rruuuv0ww8/6M4779SgQYN05swZpaenm+0OHz4sqTCsunD8Rc954YUX9PTTT5f4xsejR4/q8ccf1759+xQWFqY6deoUm50zdepUvfzyy7LZbGrRooXLxuHlCaVKuuaJJ54wN4l/9tlndeutt5qbgV/uNylu2LDBZSZg0SyknJwc1apVq8RQqjTvvPOO7r77bnXu3NncJLxIaaGUVPi7+Omnn/Tiiy+qXbt22rZtm06fPm0uwTx06JCkwt9nUlKS8vPzJRXuC3a+t956S9nZ2dq9e7cZTLVs2VLh4eFasmSJBg4cqJUrVyoxMVHNmzc3X0CwaNEihYaGFutfz549tW3bNtWtW1cRERE6d+6cVq1apU8//VSnT5/WQw89pIULF8put2vEiBGqV6+eHnnkkWLjO336tObMmaMFCxZo8+bNql27ttatW6d27dqpWrVqatOmjU6fPu3y2ff19ZVUuOF5aUvtZs2apVmzZrmUFS1fdDqdGjBggHr06KGNGzeqU6dOJd4DAPD3RSgFAEAZ3n77bY0ZM0ajR49WUFCQGUr16dNHL7/8siIjI5WamqqVK1de9A1iGRkZxZZCFfHy8nLZT6okX331lfbu3SupcDnQF198oa+//lo2m00dO3bUl19+WWK7G264weW8Xr16qlevnrKysvTggw+qU6dO5gyeTZs2SSrcPLkoQPHx8SlXCJGfn6/Q0FCdPXtWixYtUr169eR0OuXh4SGbzWYeRYpmwpy/XKnIyJEjS1wmWbSE6u23377kJUBZWVlyOBxq1qyZywyb8kpMTNQ777yjWbNmaejQoVq1apXuueceNW7cWF9++aWWL1+uqVOnqlatWvrxxx+Vl5cnd3d3HTlyRB4eHmXun1Paps8ffPCBnnjiCdWoUUMbNmwo9Ut9URBXNGPl/N9XUXhSlpI2W2/YsKHZrx07dqhZs2bq0KHDRe/1Ryxbtkx9+vT50/ex2Wz65ptvdPr0aT344IPKysoy33YnFYYkZe1/Vb16dd12222Kjo5W+/bt9c4772jFihWS/l8gOmbMGNntduXl5al+/fou+4alpKTo1VdflSTddddd8vX11axZs3TmzBmFh4eXKyAsKTTz9/dXQkKCIiIi9Mwzz+jcuXPq3LmzRowYoWnTpunll1/W2LFj5ePjY+5fd/6G/1Jh6LZhwwZ16dJFPXv21JdffqnPPvtMzz33nKTCcGnSpEn69ddfS3zJQmkWLFigAQMGyDAMc6aUr6+vNm/ebAbmJb0dEQAAiVAKAIBSTZo0SS+99JIefPBBxcbGmsuzikyYMEFOp1OvvPKK7rrrLn3++edl7oO0adMm3X333SXWde7c2WVD5gsZhqHx48erXr16OnbsmCZOnKhevXpp/fr15QodLrzG6XRq2LBhOnjwoObMmWOWF+2hlJ2dbYZS5wdpZ86cKTGgKigo0IgRI3T27FkNGjRIw4cP1z/+8Q8lJycXu/bCmUCpqany8fG56Bj+rN9++818fmlvAzxflSpVXJautWjRQv/973/l6empI0eOaNCgQXr++efNQO/uu+/WypUrNXHiRHXv3l3fffedOnXqpKSkJDVp0qRcG46f795779XHH3+sBx54QPPmzbukoOD8n3HRZu2NGzcu9foLZ8IlJCTo+PHjZtDq5uZmbhxepFKlSsX2KLJSaGhosWWovXv3lqenp+rXr6+6detq2rRp2r17tzlTMScnp9SZUtOmTdP999+v9evXmyHd2LFji+0p9f777+vOO+8s1j4jI0ODBg0y/67dd999uuGGG/TZZ5+ZQVh+fr4+/PBDl9/P+Zu2S8X/fuzbt0/Dhw/XoUOHtH//fn377bcaMGCAHn30UU2ZMkW7du3S1KlTdfToUT300EOKiYnR8uXL9e6776pdu3Yu92rQoIHWrVun2267TW3btlVaWpoGDhwoqXBG1r/+9S9NmTJF0dHRpf/gL+Dt7V3q31+73U4gBQAoE6EUAAAXcDgcevjhh/Xhhx/q0Ucf1dy5c0tdMjR58mRlZGRo+vTp6t27d5nBVFHIc/5r2iWpf//+F+3T9OnTlZSUpEmTJumZZ55Rw4YNNWTIEO3YsUOZmZnatGlTmTO1zt8U+8iRIwoJCTG/xN51111mXd26ddWtW7diMzpOnz6tdu3a6dixY8VmGWVlZenxxx/X0qVLJcl8M+H06dPNmSlubm4aN26cHA6HudQnOztb2dnZLj+v33//Xfv27ZOXl1eJSyKLllAdO3asxGApNzdXWVlZatmyZbHwoSiUGjdunMaNG1fqz6pIjx49XGafff/99+rYsaPLNdHR0S5f4Ldt26a2bduqbdu2ev/999WpUyczzLjQ2bNnlZmZaf58LrRjxw41b95cc+fOVX5+vs6ePWvWFb21sEqVKub+Q6UZNWrURffxqlmzpsv5rFmziu1xtXz5ci1fvtw8r1+/fqkz/6xQ0kbn5/vXv/6lN998U6+//roWLVokqfAzd+FYJWnnzp167rnnVKtWrWL3KUlBQYHy8vLkdDrNsDAzM1O1a9dW//79i71Nsej3m52drf79+ysuLk4///yz2rdvr927dysgIEDLli1z2YdKKgy+X3/9dd1yyy36+uuv9dxzz+nNN99U7dq1tWvXLgUHB+vkyZPKzc3VggUL1L9/fyUkJKh///7q2LGjfvrpp2Jh5M0336zVq1erY8eOatSokZo0aSKpMLR85JFHNH36dD399NOXfd8wAABKQigFAMB5PvzwQz3zzDM6evSopk6dqoiIiIu2iY2N1enTp7Vs2TI98MAD5gbXFyprL5yy6g4dOqQJEyZo0qRJLkvx3nnnHeXk5Mjd3V3/+c9/ZLPZdOjQIQUGBuq///2vunTpIknmspr8/HzZ7XbdcMMNGjJkiFJTUzV37lyXZw0bNkyenp7q1q2bPvnkE9WrV09S4dKfe++9V7m5uXrqqafM648cOaJevXopKSlJL7zwgssbBnv16uVy7zfeeEOGYbhsgnyhDRs2aPDgwfLw8CgxlCqawTJhwgS9/PLLxeqLlgTu3bu32HLI22+/vdybfgcFBRVb5tW2bVvt27dPkhQcHKzHHntMzz77rKTCt7olJSWZGzgPGzZM48ePV9++ffXTTz+VOPPkrbfe0oQJEy7al6J9fUry+uuvm8uvLnT48GHt27dPnTt3Vq1atbRx40bdfvvt5ky3zMxMbdmyRd26dSvW9pVXXtH48ePl5eWlxMRE9ejRQ//5z3/MPaZeffVVffrpp5IKA5o/upn6n1HSRufnq1+/vvr06aMVK1bo9ddfV61atZSZmenyZsIi77zzjnx9fV32rpKkqKgoRUVFuZSdH+I2atTIXFJbu3ZtffHFF/r555+LhVJFMjMz5ebm5rJXmqenZ6khrJ+fn0aOHKmpU6fKbrfr9ttvV05Ojpo0aaIvvvhCSUlJ2rZtm9zd3fXUU0/p1KlT6tOnj7777jtt3ry51NlxRYFuSkqKFi1apBEjRkgqfKHDf/7zH8XExJS4UToAAJcboRQAAOc5efKkDMPQN998o86dO5erjc1m08KFC5Wdna2xY8eWel1RoHLgwAGXwCMjI6PUJUWSFBAQoK1bt+qmm24yNzqXCvcNGjx4sMueOUVKmpmzcOFC88vna6+9ptTUVP3444/y9PQ0932SpL1792r79u3av3+/HA6H2T4sLExZWVku+x/dcMMNuvPOOzV06NBiodQfMXDgQHPvnpIUzTpasGBBufaUMgxD586dU+XKlUtdPldQUCCn06nc3FxVr15dUuFsOT8/P5frKleurKCgIE2dOlVnz55Vt27d5OPjo5SUFH3++ed6++23zWvDwsI0adIk3XvvvbrxxhtLXO71xBNPaPDgwaX2rXv37vL09NTnn39erC4vL09paWnF+ljk999/19133y13d3clJCRo79696tWrl3r16mW+pW/YsGH69NNPtXbt2mKfl/Nnyaxfv16S1LFjR9WpU0eS65vnsrOzzWWfV5uHHnpIUuHvWCp8M+SFM8tSU1P1zjvv6JFHHikWREZERJh/p7/99lv1799fK1asUJcuXZSXl1dsWezFlmiePn1aGzZscAmgbrzxxlKv7d27typVqmTO8rvlllt0yy23SCqccWmz2czPbNHMtqLZa82aNdOePXvUsGFDlyW3J06c0AsvvKCHH35YOTk5euqpp9ShQwfdeOONatasmZYsWaIBAwaUOY7SFM3YuvBtngAAlIZQCgCA84SHh2vYsGFl7g1VkkqVKmnlypVlXlO0hO78JUdFir5olqa0jbnnz5+vBQsWqFKlSnJzc1PPnj0VHx8vqXCm0nvvvSen06lTp065jMnNzU2LFi3SuHHj5OHhIU9PTzOUKtpfqF+/fmaZYRhyOp3Kzs7WkSNHzHBCKtyL52p14sQJ1a1bt1zXBgYG6sCBA8rLy1Nqaqpq165d4nW1a9dWv379dP/99ys7O1vVqlWTl5eXS4jp7e2tQYMGae7cuRo8eHCJYcV1111X4lv+iri7u6tSpUouP+vzXbiB/flmzZold3d3vfvuu8rLy9NDDz0kd3d3TZ482bzmxRdf1Jo1a3Tvvffqu+++U9OmTUu817x581S/fn3dfPPNZllmZqb5efLy8ipzNldFuvfee10CFofDUWz/o5dfflkZGRl6/PHHi7X39vY2f0dFYVaNGjXKtbTt/P3IisKxpKQkPfHEE5ozZ06pb98rMnfuXHMmXUmfn6IZaiW9IMEwDDOIO3z4sPlZycvLM4PQN954QzabTV999ZWGDRumTZs2yW63m329FDk5OVq8eLFeeeUVHTx4ULNnzy7z+mnTpmngwIEXfbkDAOCvr+x36gIA8Dd0qYFUefXr10+GYZR4fP/993/onj4+PqpRo4a8vb31wQcfaNOmTZo4caLGjx+vTz75RHPnzlWNGjV04403FgtnxowZo5ycHGVkZOj333/X6dOndfr0ac2cOVOSlJycbJb9/vvvysjIUF5eXqkhydWoVq1a2rdvn3777TedPHlSp06dKnYcP35cBw8eNDfxTklJkWEYJS7zkqQRI0boo48+Mmeh2Gw21a1bVzfeeKPmzZsnSZozZ47mzZunwMBATZ06tcTZbFfC9u3bJRXOZHr33Xc1aNAgPfXUU/r+++81b948NW/e3Ly2devWWrx4sRwOh+6++26dOnWq2P0WLFigTZs2adSoUS5LTM8PpWJiYsxljVYoWir422+/6ZdffjGPzMzMYjOXLtw0/MSJEy4zpX755RfNmjVLd9xxh7m30vkcDoeOHDmiI0eOmD+f06dP68iRIzp06JBSUlKK7W1W1IetW7fq8OHDuvvuu5WTk6MtW7bo5MmTCgkJKdc4//3vfys7O1v5+fnKy8srdowePVpVqlQpsS4/P1+GYSg7O9vc4y03N1eDBw9WfHy8PvroI/n6+srHx0dvvvmmtmzZoo8//rhc/Spy8uRJSdLSpUsVFBSkxx57TDfddJO++eYbhYeHS1KJyzpTUlL03HPPafjw4Zf0PADAXxMzpQAAKKeiL5tFMxAu5o/us3Phm9AuJj8/XzNmzFBERIR69uypMWPGyGazaePGjXr22WdVUFBg7n10pRV9IT548KDS0tLk7u5uhhnnzp1Tdna2y5f4ohlYQUFBF92wWypc6igVDxtKY7fbi73drCSpqak6c+aMvv/+e7300kuSpNtuu63Ea3/77TctXrxYb7zxhm6++WZ99tlnCgwM1JdffqkqVaqod+/eWrt2raKiovTMM8+oW7dueuCBBzRu3Di98MILZW5Ifz6n01nua4u89957kgr37xo0aJCmTp2quXPnaty4cSVudj5o0CCNGTNGb7zxhu677z59/fXX5qycuXPnauTIkWrbtq3+9a9/mW3y8/P166+/ljiTzOl0KjU11WVmz4YNG7R27Vp5enoW2zep6O2M7733nnbs2FHimIr2CXv11VfNc0l64YUX9MILL7hce8cdd5T6s/nqq6907tw5l32Wtm/fLpvNpjFjxrhcW/R3PDY2VrGxsS51F84kqlGjhssm9EVLGevUqaMbbrhBd999t5xOp8aMGaNq1arpnnvuKbF/RZ/tIiXtMXWpipZYnj59WgMGDFB8fLw+/fRTc+8zSXrggQfk7u5uvoXvfEVhY0l73n311VeSpM8//1z33HOPxo8f7/K2v2rVqiknJ0cxMTG66aabJBX+fS9aZvjggw/+6fEBAP4CDAAAUC6vvvqqIck4cuRIua7/5z//aVzK/9QuWrTI6N27t+Hj42NIMk6dOlXsmhUrVhiSjJSUFOP48eNGTEyM0axZM0OSMXz4cCM7O9u89uzZs8Ydd9xhSDK6du1qfP3114ZhGMaZM2eM7du3G7t37zZ+/vnnYkd0dLQhydiyZUuJ9Tt27DC+//57Iy8vr1j/fH19jccee8wIDw83KleubFStWtWoUaNGqUe1atUMT09PY+3atWX+bObMmWP079/fqFmzpiHJ+Oabb8r9cy2PTZs2GZIMSYabm5vx6KOPFrsmPT3d6NGjh+Hm5mY0bdrUiIuLMwoKCsz62bNnG+7u7kbTpk2NDRs2mOUOh8MYNGiQIcl48803y+zH1q1bjQ4dOhi33nqrIcm47777Lmkc+fn5xrx58wzDMIyffvrJcHNzM/r37+/Szwvl5OQY7du3N/r06WNkZGQYmZmZRq9evQxJRps2bYyTJ0+a1zVv3tyoUqWKIcmYMWOGeY+EhASja9euhr+/vyHJmDZtmln3xhtvGJUrVzZ8fHyMmjVrXtLh6+treHt7G56enub9Dhw4YHh6ehpLlixxGccjjzxijBgxwqVs7dq1RkhIiNG4cWPDy8vLeOqpp4r9LH799ddiP5Nz584ZkoxHHnnE2LJlS4nHt99+a2zcuNH46quvXNoePnzYmDJliuFwOMyyMWPGGJKMyMhIs2zXrl2GJGP//v3GmDFjDC8vL6NatWql/p4uNGrUKMPLy6tc1+bn5xtRUVHGl19+Wa7rX331VcPX19eQZFSpUsU4ceJEsWtSU1ONXr16GVu2bCnxHnv37jVuvPFG8+/V+X+/Bg4caOTk5JSrLwCAvzZCKQAAyumll14yJBl79+4t1/V33nnnJYVSmzZtMux2u9GoUSPjxRdfLPGaxYsXG5KMxMRE49SpU0ZQUJAREhJS6pfNnJwcY8KECUaVKlWM9957zzAMw/jss8/+cEhQs2ZNo0qVKobdbjdSU1OLPc/b29sYPnx4ucdcXhs3bjQkGQEBAcYLL7xQZsjyR8XFxRkbNmwocVxFNmzYYPzvf/8rsc7pdBrvvvtuiWGdYRT+fi8mNzfXCAwMNFq3bm08+OCDRnJycrn6Xpq1a9caGRkZF73u1KlTRn5+vnk+depU4/777zfS09NdrpswYYIxbNgw4+OPPy7W78aNGxsdO3Y0Xn755XI90wo5OTnGrFmzjG+++cbIzMwsd7vff//dkGS89NJLl6UfeXl5xr/+9S+XIMbhcBirVq0yzp07ZyxcuNAIDAw0li5dWu57Pvzww4bNZnP5vV0ue/fuNe6//35j6tSpxr59+/7UvbKysoz09HTzOD84BwDAZhgV8A5fAABQTEFBgQoKClzelHUxqamp5dpkOi0trVzL465WBQUFys7Olre3d0V3BbjscnNzL8tyPQAArjWEUgAAAAAAALDcVfP2vdOnTysoKEgHDhwo1/UbN25UkyZNdN111ykmJsalbuXKlQoMDFS9evW0fPlyl7pZs2bp+uuvV8OGDfXNN99cru4DAAAAwCVLTExUcHCwfH19FRERcdGXZOTm5ioiIkIBAQGqW7euIiMjlZeXd9E6SYqKipKfn588PT117733Kj09vVx1AHClXBWh1OnTp9WnT59yB1KnTp1Sv379NGTIEG3ZskXLli3Tf//7X0mF/6gPHTpUEyZM0Lp16xQZGWm+2WXdunV67rnn9Pbbb2vp0qUKCwvT77//fqWGBQAAAAClcjqd6tu3r9q2batt27YpKSlJixYtKrNNVFSU1qxZo7Vr1+qLL77QsmXLFBUVddG6ZcuWadmyZVq7dq12796tn3/+2XyrZVl1AHAlXRWh1ODBg/XPf/6z3NcvW7ZM9erV04QJE9S4cWNFRkaar5edP3++unbtqrCwMDVv3lyjRo1SXFycJGnOnDkaPny47rnnHt1222265557tGrVqisyJgAAAAAoy5o1a5SWlqaYmBg1atRI0dHR5vea0ixZskRRUVFq2rSpWrdurTFjxmj16tUXrTt8+LAWL16s9u3b68Ybb9QDDzyghISEi9YBwJVU/p1Ur6B58+YpKChITz/9dLmu37lzp7p27SqbzSZJat++vZ5//nmz7q677jKvbd++vV5++WWz7vzwq3379vrf//6nsLCwEp/jdDrldDrN84KCAp05c0Y1a9Y0nw0AAAAAf0R8fLzatWunvLw8ORwONWjQQLt375bD4Si1zenTp+Xn52dek5OTI0lyOBxl1j355JPmn6XCFSaBgYEXrQOAP8IwDKWnp6tevXpycyt9PtRVEUoFBQVd0vUOh0NNmzY1z6tXr65jx46Zdeffr7x1JZkyZYo53RUAAAAAroQL3456sbel3nHHHaXeo6y6ksydO/cP1QFAeRw+fFg33HBDqfVXRSh1qdzd3eXp6Wmee3l5KTMz80/VlWTcuHF69tlnzfO0tDQFBATo8OHDql69+mUbDwAAAIC/n6KNyKOjo82ypk2b6quvvlK9evVKbLNr1y498MADuummm7R//34dOXJE27dvV4MGDcqsK1JQUKC77rpL//d//6dp06a53LusOgC4FA6HQ/7+/qpWrVqZ112ToZSfn59OnTplnqenp8vDw+NP1ZXE09PTJcQqUr16dUIpAACAq1BiYqJCQ0O1d+9ehYWFaerUqWVuu5Cbm6sXXnhB7733nnJzc/Xoo48qMjJS7u7uMgxDTz75pN577z0VFBSof//+mjNnjipXrlxmuxEjRmjx4sXFnrV//36XcACoW7euEhMTXb5bZGRkqGbNmqV+37j99tt18OBB/fLLL3rooYfUo0cPtWjR4qJ1RaKiopSWlqbp06fL29u73HUA8EdcbOujq2Kj80sVHBysLVu2mOcJCQmqX7/+n6oDAADAte1yv8ksLi5OycnJSkhI0KZNm7R7925NmTLlou1mz56t1NRU8/jiiy/UuHFj+fv7X9Hx49pz4feT/fv3y+l0ys/Pr8x2drtdmZmZSk5O1sSJE8td9+mnnyomJkYffvhhsdCprDoAuFKu6lDK4XAoNze3WHm/fv307bff6quvvlJubq6mTp2qXr16SZIGDhyoFStWaNeuXcrIyNCMGTPMukGDBmn27Nk6evSoTpw4oQULFph1AAAAuLZd7jeZxcfHa9CgQQoMDFTz5s3Vv39/7d2796LtvL295ePjYx6xsbGaOHGi7Hb7lf0B4JrTqVMnORwOLVy4UJIUHR2t7t27y2636+zZs8rPzy+1bWRkpMaMGVPiMr+S6n7++WcNGTJEM2fOlL+/vzIyMsytTMqqA4Ar6aoOpVq0aKHPP/+8WPl1112n2NhY3X333br++uuVnJys8ePHS5Jatmypp59+Wu3atVP9+vVlt9vNt0n07dtX3bp1U+PGjRUUFKTWrVtrwIABlo4JAAAAV8bOnTsVEhJizvJo0aKFkpKSymxz+vRpBQQEmOd2u90Mj5o1a6alS5fqxIkTOnjwoFasWKEePXpctN35tm7dqv3792vw4MF/enz463F3d9f8+fM1atQoXXfddVq9erVee+01SZKvr6927dpVYruNGzdqx44dGjt2bLnr3n77bZ07d07Dhw9XtWrV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QoIMw1BBQYGys7PVoUOHy997AAAAAAAAXJPKHUpFRkYqNjZW1113nWbOnKnQ0FA9/fTTGj16tGw2m66//nr9+9//1gsvvCBJatu2rdnWZrMpPz//8vceAAAAAAAA16RyL98bOXKkDhw4oNzcXL311lsaNGiQDMPQsGHDFBMTo82bN2v06NE6evSoJOm3337Tb7/9piNHjujXX3+9YgMAAAAAAADAtafcoVTDhg0VEBCgSpUq6ccff1T9+vX15ptvyul0av369fr222919OhR1alTR5J0/fXX6/rrr1e9evXUsGHDKzYAAAAAAAAAXHv+0Nv3qlSpogULFig7O1vNmzdXUFCQJk+erBMnTlzu/gEAAAAAAOAv6JLfvle0N9T27dvl7++v559/Xg8//LDS0tL00ksvSSrcQwoAAAAAAAAozSWFUgUFBTp37pzS09N1//33KyMjQ5I0atQoTZkyRfHx8VekkwAAAAAAAPhruaRQKjMzUzk5OTIMQz169NDMmTMlSW3atNETTzyhYcOGKSsrS4ZhKCcn54p0GAAAAAAAANe+SwqlqlatqoKCAlWvXl1z5851WaY3fvx4ff7555Kkm2++2VzmBwAAAAAAAFzoD210XpKqVauqatWqkqSff/75ct0WAAAAAAAAf0F/KpQ6c+aMPDw85OHhUeo1ZdUBAAAAAADg7+mS3753vuuuu041atRQ5cqVSz08PDz0wQcfXK7+AgAAAAAA4C/gkkOp//3vf+affX19tWfPHiUnJ6tq1aras2ePunTpoj179mjPnj36+eefdd9992n27Nll3jMxMVHBwcHy9fVVRESEDMMo8/rc3FxFREQoICBAdevWVWRkpPLy8sz6lStXKjAwUPXq1dPy5ctd2s6aNUvXX3+9GjZsqG+++eZShw8AAAAAAIDL4JKX73Xp0kX33HOPoqKiZLfb1ahRI0ky/1ylShWzTJImT56smjVrlno/p9Opvn37qlevXlqxYoVGjx6tRYsWKTQ0tNQ2UVFRWrNmjdauXSun06lBgwbJMAxNmjRJiYmJGjp0qGbNmqVbbrlFAwYMUJs2bXTzzTdr3bp1eu6557RixQrVqlVLDz74oLZu3Vpm/wAAAAAAAHD5XXIo5e3trTp16qh9+/Zyc3PTww8/LEnKzMzUww8/rJ07d5plRaZMmaLq1auXeL81a9YoLS1N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",
      "text/plain": [
       "<Figure size 1200x600 with 1 Axes>"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    }
   ],
   "source": [
    "import numpy as np\n",
    "import matplotlib.pyplot as plt\n",
    "from sklearn.ensemble import RandomForestClassifier\n",
    "from sklearn.svm import SVC\n",
    "from sklearn.linear_model import LogisticRegression\n",
    "from sklearn.neural_network import MLPClassifier\n",
    "from xgboost import XGBClassifier\n",
    "\n",
    "models = {\n",
    "    'KNN': KNN(n_neighbors=5),\n",
    "    '随机森林': RandomForestClassifier(n_estimators=100, random_state=42),\n",
    "    'SVM': SVC(kernel='rbf', random_state=42),\n",
    "    '逻辑回归': LogisticRegression(max_iter=1000, random_state=42),\n",
    "    '神经网络': MLPClassifier(hidden_layer_sizes=(100, 50), max_iter=1000, random_state=42),\n",
    "    'XGBoost': XGBClassifier(random_state=42, eval_metric='mlogloss')\n",
    "}\n",
    "results = {}\n",
    "predictions = {}\n",
    "for name, model in models.items():\n",
    "    print(f\"训练 {name} 模型中...\")\n",
    "    model.fit(X_train, y_train)\n",
    "    y_pred = model.predict(X_test)\n",
    "    accuracy = accuracy_score(y_test, y_pred)\n",
    "    results[name] = accuracy\n",
    "    predictions[name] = y_pred\n",
    "    print(f\"{name} 准确率: {accuracy:.4f}\")\n",
    "\n",
    "plt.rcParams['font.sans-serif'] = ['SimHei']\n",
    "plt.rcParams['axes.unicode_minus'] = False\n",
    "\n",
    "plt.figure(figsize=(12, 6))\n",
    "models_names = list(results.keys())\n",
    "accuracies = list(results.values())\n",
    "\n",
    "bars = plt.bar(models_names, accuracies, color=['#FF6B6B', '#4ECDC4', '#45B7D1', '#96CEB4', '#FFEAA7', '#DDA0DD'])\n",
    "plt.ylim(0.8, 1.0)\n",
    "plt.title('不同模型在手写数字识别上的准确率对比', fontsize=14, fontweight='bold')\n",
    "plt.ylabel('准确率', fontsize=12)\n",
    "\n",
    "for bar, accuracy in zip(bars, accuracies):\n",
    "    height = bar.get_height()\n",
    "    plt.text(bar.get_x() + bar.get_width()/2., height + 0.005,\n",
    "             f'{accuracy:.4f}', ha='center', va='bottom', fontweight='bold')\n",
    "\n",
    "plt.xticks(rotation=45)\n",
    "plt.tight_layout()\n",
    "plt.show()"
   ]
  },
  {
   "cell_type": "markdown",
   "id": "9de71d17-bf3e-4fa5-af7a-5870ae07208a",
   "metadata": {},
   "source": [
    "##### 由以上的图我可以看出神经网络以99.22%的准确率成为最佳模型，但逻辑回归和SVM的表现也非常接近，为实际部署提供了很好的备选方案。这个结果验证了深度学习在图像识别任务中的优势，同时也表明传统机器学习方法在某些场景下依然具有很强的竞争力。"
   ]
  },
  {
   "cell_type": "markdown",
   "id": "12116fff-58c7-4d19-9862-d647aba2dfa8",
   "metadata": {},
   "source": [
    "#### 混淆矩阵"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 12,
   "id": "458f6255-ec04-4aa2-978d-0ab1ec8d8b56",
   "metadata": {},
   "outputs": [
    {
     "data": {
      "image/png": "iVBORw0KGgoAAAANSUhEUgAABZgAAAJOCAYAAAA6bWJ4AAAAOnRFWHRTb2Z0d2FyZQBNYXRwbG90bGliIHZlcnNpb24zLjEwLjYsIGh0dHBzOi8vbWF0cGxvdGxpYi5vcmcvq6yFwwAAAAlwSFlzAAAPYQAAD2EBqD+naQAAvz9JREFUeJzs3XmcjXX/x/H3me3MYswMY8m+jixR9rKHUvbcKVSURNJmqSaSIiIhWUpECbcKkWyRLCXKvsvYl6yzms3MnN8ffs7tmKGZcZY513k9H4/rcd/nOudc1/d9rhl9fH3O9zJZLBaLAAAAAAAAAADIIS9XDwAAAAAAAAAA4J6YYAYAAAAAAAAA5AoTzAAAAAAAAACAXGGCGQAAAAAAAACQK0wwAwAAAAAAAAByhQlmAAAAAAAAAECuMMEMAAAAAAAAAMgVJpgBAAAAAAAAALnCBDOALFksFg0ZMkS///57ls//8MMPqlOnzr8eJz09PdfnT0tLy/GWkZGR6VhZZVi7dq3q1q2rgwcP5mp818XGxmrXrl13dIzU1FTt3LnTZt+iRYu0cuVKWSwW675du3apUaNG2rhxY6Zj/P3332rZsqX+/PPPOxrLrYwfP14LFy50yLEBAAAAAID7YoIZQJZMJpMOHDigPn36ZDlJnJaWpgsXLvzrcXr16qUhQ4ZYH+/YsUMHDhzQ4cOHbbZjx47ZvO+XX36Rr69vjreRI0faHOfChQtq1KiRPv/8c5v9K1euVGpqqiIiInLwqWQ2adIk1alTR2PGjJHFYtGAAQPk5eUlHx+fTJuXl5datWqV6RgTJ05U3bp1NWnSJOu+P//8U88884wqV66sSZMm6eOPP9b999+viIgIlShRItMxVq9erT/++ENlypSx2T958mT95z//ybS1b99effr0sb6uZ8+eNs+PHTvW5jijRo3Sjz/+eEefFQAAgCeKi4vTd999p7S0NElSYmKiYmJi/nXLymuvvaapU6c6cfRZO3bsmFq1aqUDBw7Y9bg0bwCAe/Jx9QAA5F1jxoxRixYtdOrUKZUuXVrx8fHWyebk5GSZTCab4jdfvnzy8fnfHyvnz5/XvHnzNHfuXOu+OnXqKCAgQH5+ftZ9ly5dUt++fTV58mTrvtDQUEnSpk2bspxQzUrNmjUVEhJis2/RokUqVKiQnnnmGeu+tLQ0zZ07VydPnpSXl+2/s/Xp0ydHRfvgwYNVr149Pf/88woICJDZbFa7du30ww8/ZHrtsGHDtH379kz7+/fvrwsXLujll19WTEyMhgwZopEjR+q9997TkCFD9PLLL0uSHnroIb311luZJpElacGCBWrRooViY2MVGxur9PR05cuXT/v27dOuXbv0wgsv2Lw+IyNDwcHB1sfLly9Xq1atVL9+fb344otq3bq1du3aJYvFopMnT+rChQtq166d9S8R6enpSklJUZUqVeTv75/tzwsAAMDTXLp0SZ07d7bWW3379tVXX331r++7evWqTW0tSfPmzdOHH35ofXzu3DlVrVo1y/dv2bJF5cqVsz4uUqSIzp8/n+1xFyhQQJcuXbrl2FauXKmkpCTNnz9f6enpNvX9jTp06JApx61MmjRJ77//voYPH65BgwZp4MCBGj9+fKaaXbpWzz700ENasWKFzf6JEydq8ODB+vjjj9WvXz9J15o3ZsyYobCwMPXr108pKSkaOnSonnzyyRw3b6xduzbLz+Ouu+7SZ599Jula80ZsbKz1+fr162vgwIHWx6NGjVLr1q312GOPZetzAYC8jglmAJns2rVLQUFB8vb21k8//SSLxaLU1FTVqVMn05ISYWFh1v+/dOlStW7d2vr4gw8+UMuWLdWxY0clJiYqICBAV69etXn/xIkTNWrUKL3//vs2+68XqEWLFrUp+j7++GNFRESobdu2kq4tpTFixAi9+uqr8vLykq+vr81xpk2bpoEDB8pkMunzzz9X7969NWfOHJ08eVIvvPCCRo8eLUmaP3++Xn75Zb311ls5/rxatGihvXv3KjAwUO+9954WL14sk8mU5Ws7deqUaZ+Xl5dGjx6tiIgItW/fXpK0efNmTZgwQWvXrtXnn3+uunXrasyYMapSpYpatWql9957TzVr1pQkHTp0SL/88ossFovNxParr76q4OBglSpVyqagzYqfn58aN26s2rVry9vbWx07dlStWrV09uxZpaamymw269lnn7W+3mKxKCUlRTt37lSlSpVy+pEBAAB4jLJly6pu3br69ttv1apVKwUEBOiJJ57Qf//7X/Xo0UMVKlTQkCFDZDKZdPLkSR0+fFjNmze3TsouW7ZMa9asUVpams6fP69t27bp4MGDSk5OVpcuXRQTE2Ptjr7OZDJlqovNZrNGjx6drUnNxYsXa8yYMTb7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XfHx8Vq3bp0uX76sFStWZPmeuLg49erVSy+++KJKliyptLQ0NW/eXO+8845atWqljRs3qmbNmnr66ae1adMmNWjQQJMmTdLHH3+c489t8eLFkq51fp89e1aSlJqaqvT0dG3fvl1xcXG6fPmymjdvbnOjw+v69u2rs2fPymKxaPjw4dZOh6tXr8pisVi3RYsWKTAw0Pq+QoUKqVWrVoqIiNCVK1eUkZGhiIgIVa1aVS1atJB0rePixjXeEhMTb3tzmVatWum7777T+PHjdfDgQV25ckXp6el6+OGH1bNnT128eFEJCQlMLgMAAOTA9cnb+fPnq127dmrWrJn27dunlJQUa63XrVs3VaxYUS+88IL1fYUKFVLTpk3l6+trvR/GqlWrrBOl6enp1vuihIeHq1mzZpKuTb7eaiL1Vvc/udX+689df37//v0qUaKE/P39VbJkSZ05c0ZHjx7V4cOHrdvo0aNz/iEpc/PG1KlTbdaXfvXVV/Xzzz8rNDQ0yzWgrzdvNG/e3LrvevPGli1b5OPjY/N3kRsnqa83b/z555/avHmzTCaTpk6dqj179mjYsGE5ztKrVy8lJSVlat6oWLGiNmzYoO+//17169dX3bp1/3WZFADIy+hgBmCjbNmy6t27t95++209+eSTkq5NFhcoUECffvqp+vTpoz59+lhfHxwcbP3/6enpkqSkpCQ98cQTiouL0+uvv66qVauqYsWKCgsL008//STp2g1B2rRpo6ZNm2rgwIFKTk7O8l/+pWtLaPz4449avXq1WrZsqTlz5mjnzp3Knz+/HnjgAeuE8c3at2+vgwcPqlixYqpSpYpMJpNmz56tAwcO6KmnntLs2bMzveeXX35R8eLFc/SZ/fDDD+rWrZuOHTsmLy8vffLJJ/r0008lST///LO8vLy0bNkyvffee2rSpIlKly5t8/7du3dr6tSpatmypaZOnao//vhDo0aNUmRkpEqUKGHz2pSUlEydGtetX79e0rWv6d3Ygb1u3bpM60vfddddmd6fnp6uTz75RAsXLlTNmjWVP39+FS5cOMu/mFy/07WXl1eO7wwOAADgybZt26bHHntMM2bM0AMPPCBJWrhwoRYvXqz58+frl19+sZk4LVmypJYsWSJJOnXqlObNm6fPP/9cPj4+Onr0qLy9vXXx4kXr6693MN9OcnKy1q1bl2npies3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iwlmALdUoECBW9547+rVq9ZJ4Kx06dIl075Tp05l+9zZ6ay47vLly1q1apW6d++uRx991Lr/Vl93S05OliSbtZavn+/6c9lRqVIlff3119bHYWFhOnz4cKYuiGnTpmnatGlZHuO7777T5MmTMxXwN05+X1e5cmUlJyfrnXfese4rXLiwZs2apTJlytgUrd7e3ipSpIgmTpyoiRMn/muW8+fP/+trkpKScvT5AAAAeLqTJ09qzZo1+umnn1SrVi29+eabWrJkidasWaOZM2fqzJkziomJUVJSkq5evar09HTrtwRfeOEF6zf1rrveFJCWlqYGDRpoypQpql+/vqpWrWqd4N28ebOWLFlibXa4rnDhwpo5c6Yefvjhfx33okWLbO7LcuXKFT3++OMqUKCAFi1aZG0YCQ4Otrnp942KFy+uWrVqKSUlRQEBAf96Tpo3AMB9mSzX/ykPADxESkqK/vnnn0w3BAEAAADszWKx3PHSbNcdOnRIdevW1bFjx255Y+oNGzaoRYsWSklJscs5rzt69KiCg4Od2nF76dKl29548GaJiYmaPHmyBg0aZLN/yZIlat++vU0H886dO9WpUycNGDBAL774ovW1ixYtUpkyZXTffffZJ8QtNGrUSOXLl9esWbMceh4AcAYmmAEAAAAAAAAAuZKzFfcBAAAAAAAAAPh/TDADAAAAAAAAAHKFCWYADvXEE0/ohx9+UFJSkjp27KhVq1bl6jiHDx9W06ZNtWvXrhy/NyoqSv3791d8fHyuzg0AAAC4GnU1ACCvYoIZgF2MHj1ae/futdm3bds2ffvtt4qJiVFAQIDKlSunjh07Znrddbt27VJUVJSOHTumY8eO6e+//9aFCxckSaNGjdL58+dVuXLl244jPj5e6enpNvt8fX01fvx4LV682GZ/RkaGkpKSlJqamtO4AAAAgENQVwMA3A0TzADuWHp6uv7880+1bNlSUVFR1v1TpkxReHi4unbtKkn66KOP9M4776h06dLKyMhQcnKyTdFap04d3XfffSpbtqyqVq2qe++9V7Nnz9Zvv/2mmTNn6syZMypUqJCCgoJkMpn066+/ZhpL/vz5FRAQoLCwMIWHhys8PFzVq1dXwYIF9dprr1n3hYeHK1++fAoMDNTcuXPt+nns3LlTDRs2VHBwsFq0aKGTJ0/m6P2nT5/WM888o4IFCyos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Ac9VVVXp8OHDkqSSkpITep1t27Zp9erVIZnpyJEj+uyzz1RVVRXw/OrVq094HgAAACCc6NUAgP/G4/f7/XYPAQCn4owzzlBycrISEhJUWFio66+/XsuWLdP27dtVXFysgoICNW/eXJWVlapTp47mzZuntLQ09enTR4899pjGjh0bUE7POuss9enTR5I0ceJEfffdd3rjjTeqPz569GiVlZXpySefVGVlpY4cOaL4+PiAmY4cOaKoqChFR0dXP/fiiy8qKytLs2fPVmJiomrUqKFGjRqpRYsWys7O1sCBA1VVVaUjR47I6/Va/KsGAAAABKJXAwCCEWP3AABwqnbt2iVJys/P1/nnn6877rhDbdu2lSRNnjxZ8+fP1+uvvx7wc2bOnKnrrrtOPXv21NixYzVhwgRJ0tdff62tW7eqYcOG2rp1q7xer2JiAn+rTEhIUFTU0W8AmT9/vq644grVqFFDHo9HklRRUaHS0lJ9+umnuvjiiyVJa9euVVZWls4880x1795dbdu2Vbdu3ZScnKyioiL9+c9/1rBhw5ScnKw+ffpo0qRJlv16AQAAAMdDrwYABIMFZgCOV1JSoocfflhbt27VmDFjqkuwJO3evVstW7b8xc9p1aqVvv/+e0VHRysuLk59+/bVp59+qq5du2rRokVasWKFvvrqK6Wnp1f/nF27dqmwsFAHDx6Uz+fTmjVrdM455+jIkSO/Od+CBQt0ww03aNiwYRo8eLCaNm2qjz/+WOvXr1fv3r313XffqaKiQn369NG6deuqSzYAAAAQTvRqAEAw+N0WgOPFxcVp165d+vLLL3XLLbdIOroDomnTpnrxxReVm5urDh06qHnz5po2bZo2btyorKysgNcoLCzUwIEDqx9HRUVV75z4ybx58zR+/Hi9+uqr+vrrr/Xkk0/qhx9++NW5KisrJUmpqakaP368Ro0apdq1a2vjxo2aPHmyLr74Yj3//PNKTU1V+/bt9f/+3//7xTkBAACAcKFXAwCCwQIzAEerrKxUVVWV3nzzTf3xj3/UT7eV93g8atq0qX788Ue98847WrJkibp06aKqqiolJCTos88+U58+fap3ScTGxio5Ofk3z3XzzTfrhRdekM/nU8+ePfXUU0/prrvuUs2aNZWSkqKaNWuqRo0aSklJUWJiopo0aSJJqlevnvr16ydJKigo0COPPKJnn31Wb7/9th5//HGNHj1aBw8eVNeuXSnCAAAAsAW9GgAQLBaYATja0qVLddZZZ6lt27YaP3680tPTFR0dXf2u1n6/XxkZGdXvJh0dHa0GDRro448/1qWXXqrY2FhJRwt1QkLCfz3fp59+qqKiIr3++uu67bbbtHTpUpWUlOjgwYPKysrS4MGDdfDgQR06dEjbt2+XdPTecV999ZVGjBihZs2ayefzaenSperZs6cWLFigpKQkderUSXfddZdmzZqlDRs2WPSrBQAAABwfvRoAECwWmAE42rnnnqt169bpgw8+UGpqqmbMmKF27dopKSlJknT48GElJSWpdu3aAT8vMTFRffr0kd/vV2Vlpfbs2aN69epJ+s+34B3PM888oxYtWujaa6/VokWL9MUXX+j999+vLr2StG7dOi1cuLD68bhx43TFFVeooKBA999/v6ZMmaJmzZqpbt26atiwobKzs3X22WerW7duys3N/cW3GQIAAABWo1cDAILFm/wBMEr9+vX11ltv6dChQ5KkvXv36swzz6z+eFVVVfX/v/HGG3XvvfeqtLRUeXl51T+urKxMVVVVvyjEs2fP1tKlSzVw4ED5/X69/fbbOuecc9S8efOAd9OeMWOGJk+erJUrV6pGjRoaPny4hgwZoqSkJJWXlys7O1sbN27U1q1bq98N+/nnn1e3bt3Uv39/q35pAAAAgBNGrwYAnCh2MAMwSnJysjp06CCfzydJ+vbbbwPe/bqsrEyS9NVXX2nr1q26/vrrtWXLFs2ZM0cZGRnKzMzUyy+/rIqKCpWXlwe89ksvvaTJkyfL6/VKki699FJ98sknOv3009WrV6/qH/fAAw/I6/XqiSeekCR5vV4lJSVp586d6tixoyoqKrRly5bqHRWbN2/W/fffX32fOwAAAMBu9GoAwIligRmAkTp27Kinn35akyZN0lVXXaV//vOfeuqpp9S3b19JUnZ2th588EHVrFlTRUVFmj17turXr69u3bppx44duuuuu/Tmm28GvOaMGTPUo0eP6sdHjhxRdna2/vSnPwW8iUhsbKxGjRql5557rnrHhyQ1aNBALVu21Pvvv68LLrhAq1atUmlpqaZNm6brr79ejRs3tvhXBQAAADg59GoAwH/DAjMAxysqKtKOHTsUE/Ofu/4kJiYqNzdX5eXl+v3vf6/XX39dAwcOVGVlpXJzc7V48WINGjRIFRUVuueeezRgwADdcsstGjBggPr376/Kykr5fD7t3r27uuT+9PpHjhxRRUWFysrKdMstt+iWW27RrFmztGDBguo3NLnhhhu0atUqJSYmSvrP/eceeeQRtWvXTnFxcfr8888VExOjl19+WX/4wx/k9/ur330bAAAACDd6NQAgGNyDGYDjPfnkk3rttdf00EMPSZK+++473XnnnUpNTdVHH32kxMREzZkzR9nZ2erWrZtmz56tiRMn6rTTTtP06dP1448/avr06ZKk0aNHq6SkRKWlpXrsscf0zDPPaPLkyQHn8/l8KisrU2Jioh5++OHqGZKSknTrrbdKOlqaGzZsKOnou13Hx8crISFB0dHRv5i/oqJC11xzjY4cOaLy8nIVFxcrPj7esl8vAAAA4Hjo1QCAYHj83JwIgGEqKyu1ePFiZWRk/OJjP/744y++Za6srOy4xbO4uFixsbHV94YDAAAA3IReDQA4ESwwAwAAAAAAAACCwj2YAQAAAAAAAABBYYEZAAAAAAAAABAUFpgBAAAAAAAAAEFhgRkAAAAAAAAAEBQWmAEAAAAAAAAAQWGBGQAAAAAAAAAQFBaYAQAAAAAAAABBYYEZAAAAAAAAABAUFpgBAAAAAAAAAEH5/3qPqgIuZN3FAAAAAElFTkSuQmCC",
      "text/plain": [
       "<Figure size 1500x600 with 4 Axes>"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    }
   ],
   "source": [
    "import seaborn as sns\n",
    "from sklearn.model_selection import train_test_split\n",
    "from sklearn.metrics import accuracy_score, classification_report, confusion_matrix\n",
    "best_model_name = max(results, key=results.get)\n",
    "second_best = sorted(results, key=results.get, reverse=True)[1]\n",
    "\n",
    "fig, axes = plt.subplots(1, 2, figsize=(15, 6))\n",
    "\n",
    "for idx, model_name in enumerate([best_model_name, second_best]):\n",
    "    y_pred = predictions[model_name]\n",
    "    cm = confusion_matrix(y_test, y_pred)\n",
    "    \n",
    "    sns.heatmap(cm, annot=True, fmt='d', cmap='Blues', ax=axes[idx])\n",
    "    axes[idx].set_title(f'{model_name} 混淆矩阵\\n准确率: {results[model_name]:.4f}', fontweight='bold')\n",
    "    axes[idx].set_xlabel('预测标签')\n",
    "    axes[idx].set_ylabel('真实标签')\n",
    "\n",
    "plt.tight_layout()\n",
    "plt.show()"
   ]
  },
  {
   "cell_type": "markdown",
   "id": "4ef08a0e-8c17-4c06-a359-ed0b02f3d323",
   "metadata": {},
   "source": [
    "#### 分类报告可视化"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 15,
   "id": "76d09cc9-1f94-4111-98da-d1c92ad511c4",
   "metadata": {},
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "最佳模型: 神经网络\n",
      "==================================================\n",
      "              precision    recall  f1-score   support\n",
      "\n",
      "           0       1.00      1.00      1.00        38\n",
      "           1       0.98      0.98      0.98        44\n",
      "           2       1.00      1.00      1.00        35\n",
      "           3       1.00      1.00      1.00        36\n",
      "           4       1.00      1.00      1.00        38\n",
      "           5       1.00      1.00      1.00        39\n",
      "           6       1.00      1.00      1.00        42\n",
      "           7       1.00      1.00      1.00        32\n",
      "           8       0.95      0.97      0.96        36\n",
      "           9       1.00      0.98      0.99        47\n",
      "\n",
      "    accuracy                           0.99       387\n",
      "   macro avg       0.99      0.99      0.99       387\n",
      "weighted avg       0.99      0.99      0.99       387\n",
      "\n"
     ]
    },
    {
     "data": {
      "image/png": "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rFnT9uzt7bffLkmaPn26HnroId15551q3759gcdJSEjQJ598omHDhhX4KZITJ07Iw8OjwOcng4ODbd/SzMnJ0Xfffad3331XvXr10q+//mr75Mtnn31W6HkCAMo2wiUAOODj46MxY8bYLTv/spKcnBxNmTJFvXr10qJFizRu3DitX79e0tnRpjNnztj2sWrVKtWoUUNVqlQp9Fienp7y9vYucNTnPMMw9Mwzz6h///5q3769ZsyYoYCAAL3zzjv68ssvFRYWpsjISH333Xf52j7wwAOKjIxUw4YNVbduXdWpU0eNGzeWh4eHzGazcnJybNvu27dPYWFhatGihcN6LtS2bVv9+uuvthcZnde0aVMdP35cnp6eOnPmjBo0aKC2bdvqzJkztnN+5pln9Oyzz0qSAgIC1KRJEx08eNDue5Z5eXlasWKFPvnkE9u1yMvL02OPPaapU6cWWteoUaNUu3ZtdejQwW65o3BZ0At0kpOTFR4erho1aqhatWr6+eefCx1pK04gv/fee3Xddddp2LBheuWVV2xvmr2Yh4eHgoODC3yxznk+Pj75rrskNWnSRH/88YduvPFG27JJkyapVatWslgsyszMtL18KCEhQRMnTtRdd91V4DHOnDmjPn36yM/Pz+67oRc6evSoqlSpUmAt56Wnpys8PFzXX3+9unfvrpEjRzo8NwCA++C2WAC4RAMHDtQNN9xQ4KdI/vzzT7tf6Bs3bqzU1FQtXLhQb7zxhh566CG99957JT7m//3f/2nr1q22z4R07NhRgwYNUteuXXX//ffruuuu07fffpvvUySS9PDDD2vgwIEKDAzUsmXLNHjwYCUmJhZ4W+h5BY1OOVJQeN69e7dSU1O1d+9eRUZGavr06froo4/Uvn17xcXF6cCBA7Zged6uXbt05swZ5ebmKicnRzk5Obr77rv1/PPP2+Zzc3OVlZWld955p8Ba8vLyNHToUH377bf64IMP8p1LbGxsoeHyYllZWerbt6+uu+46bdiwQRkZGerZs6dOnDhRvAtzzoUBPisrS7m5ubJYLPrqq6+0Z8+eAts4+ve5UHZ2dr5la9as0a233qrdu3fr5MmT6tixoyIiIlS5cmXNnz9fjRs3trXbvXu3HnvsMZ0+fTrffs6/gXft2rWaOXNmoZ8a2bFjR75revFbaP38/LRgwQI1btxYo0ePVpMm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SW3atEknT57UgAED7I778ccfa9myZfr44491/fXXS5L27Nmjbt26adiwYdqwYYPWr1+vt95660pcKqBc4rZYuJ3atWvrhRdekMlk0rhx4xQZGamcnBxJUlxcnHbv3q2AgADb9j/99JMqVKigsWPHymQy6bnnntNDDz0k6ezoY7t27fTwww9LkiZOnKgtW7YUWYOnp6c8PT115swZ1ahRQ/Pnz1deXl6R7aZPn66+ffvq3nvvtR2vQ4cOmjx5sm2/H3/8sSwWix566CE99thjJbk0wL/GxX157ty5l9SP/fz8tH//fgUEBGjjxo06deqUjh075pJzAv4NKlSooMDAQHl7e8vLy0uBgYFFtvn44491+vTpfMuDg4MlST4+PsrOzlZwcLA++eQT2890R337s88+04033qjBgwdLkj766CPVrl1bR44cUfXq1SVJJ0+e1MqVK+0eUfnqq6/UvHlzDRo0SJL0xBNP6P/+7/80evToS7sgAOwQLuF2ateuLZPJJEmqVauWcnNzdeLECUlS//797YKlJCUmJur48eMKCgqSJOXl5SkjI0NZWVlKSEjQVVddZbfv2rVrF1mDj4+PvvzyS7355pt6+umn1bZtW02ZMsVuXwVJSEhQ+/btbfPh4eE6ffq0jh8/Lklq06aNLBaLpLPPbBqGUWQtwL/RxX35UvuxYRh68cUXNX/+fF199dWqVKmScnNzS/dkgHKuWrVqDtd/9tlnGjdunN588001a9ZMkydPVsuWLR327YvX1apVSxaLRQcOHLCFyyFDhuR790FiYqI2b95sC8U5OTny8/O7HKcJQNwWCzd04MABW+hKSEiQp6enQkJCJEkVK1bMt33t2rXVqlUrbdmyRVu2bNHWrVu1efNmVahQQXXq1LF7q90///yjFi1aFDkKmZycrGrVqmn16tU6evSoQkJC9MwzzxRZe2hoqPbu3Wub37t3r3x8fFSlShVJuqQXBwH/Rhf35Uvtx59//rnWrVun/fv3a/Xq1erSpUspnwkARzIzM5WTk6Nly5YpKSlJbdu2td3e6qhvX/zz9NChQ7Jarapbt65tWWG/E3Tp0sXuf0uWLVt2xc4PKG8Il3A7hw4dUnR0tOLj4xUVFaVu3brJbDYXuv0999yjAwcOaP369fLx8dG3336rjh07yjAM9e7dW7///rtmzZqlhIQEjR8/XlWrVpWHh+OucezYMd1yyy1asmSJkpOTJcl2G48jgwYN0ty5c/Xjjz8qNjZWzz77rB577DHbSCyAgl1qP87IyJBhGEpOTtbixYv16quvckcAUIbk5OTorrvu0ty5c3Xs2DEZhmH7eeqob/ft21dr1qzRtGnTFB8fr8cff1z33ntvkaOkvXr10qpVq7R7925ZLBZNmTJFAwcOLI1TBcoFwiXcTps2bbR+/Xpdc801OnPmjO2FAIUJDAzU/PnzNXHiRF111VX65ptvNH/+fHl6eiosLEzz5s3TpEmT1KRJE6WmpmrmzJlF1tC4cWNNnDhRjz/+uMLDwxUbG1usFwJcd911+vTTT/XCCy/opptuUqtWrRQdHV3scwfKq0vtx/3791e9evV09dVXKyoqSo899ph27txpe0szANfy9/fXZ599pvHjxys8PFwLFizQ1KlTJclh365Tp45++uknffDBB2rRooV8fX2L9fM7PDxcs2fP1rPPPqv69etr27Zt+uKLL67oOQLlicngT7hwI7NmzdKsWbO0YsUKV5cCAAAA4AKMXAIAAAAAnMbIJQAAAADAaYxcAgAAAACcRrgEAAAAADiNcAkAAAAAcBrhEgAAAADgNMIlAAAAAMBphEsAAAAAgNMIlwAAAAAApxEuAQAAAABO+39FMVNFRI1fRQAAAABJRU5ErkJggg==",
      "text/plain": [
       "<Figure size 1000x600 with 2 Axes>"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    }
   ],
   "source": [
    "best_model = models[best_model_name]\n",
    "y_pred_best = predictions[best_model_name]\n",
    "print(f\"最佳模型: {best_model_name}\")\n",
    "print(\"=\"*50)\n",
    "print(classification_report(y_test, y_pred_best))\n",
    "report = classification_report(y_test, y_pred_best, output_dict=True)\n",
    "report_df = pd.DataFrame(report).transpose()\n",
    "\n",
    "plt.figure(figsize=(10, 6))\n",
    "sns.heatmap(report_df.iloc[:-1, :-1], annot=True, cmap='YlOrRd', center=0.9)\n",
    "plt.title(f'{best_model_name} 模型分类报告热力图', fontweight='bold')\n",
    "plt.tight_layout()\n",
    "plt.show()"
   ]
  },
  {
   "cell_type": "markdown",
   "id": "4a101176-dc2e-4123-930c-00a54cfcbff9",
   "metadata": {},
   "source": [
    "##### 由该图我可以看出神经网络在该任务上展现了卓越的性能，特别是在特征学习和模式识别方面的优势明显。99%的整体准确率表明模型已经很好地掌握了数字识别的关键特征。虽然模型整体表现很好，但仍有微小的优化空间：数字8的识别：可以重点关注，分析误判样本。数字1和9：虽然很好，但可以追求完美"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": null,
   "id": "20a66d73-915e-42de-ab16-5b8055da5b86",
   "metadata": {},
   "outputs": [],
   "source": []
  }
 ],
 "metadata": {
  "kernelspec": {
   "display_name": "Python 3 (ipykernel)",
   "language": "python",
   "name": "python3"
  },
  "language_info": {
   "codemirror_mode": {
    "name": "ipython",
    "version": 3
   },
   "file_extension": ".py",
   "mimetype": "text/x-python",
   "name": "python",
   "nbconvert_exporter": "python",
   "pygments_lexer": "ipython3",
   "version": "3.12.4"
  }
 },
 "nbformat": 4,
 "nbformat_minor": 5
}
